<?php 
/*
functie createAccount (string $pUsername, string $pPassword) 
Probeert dus om een account aan te maken.
*/ 
function createAccount($pUsername, $pPassword) { 
  // Eerst ff checken als het formulier wel is ingevuld
  if (!empty($pUsername) && !empty($pPassword)) { 
    $uLen = strlen($pUsername); 
    $pLen = strlen($pPassword); 
     
    // escape de $pUsername om SQL Injecties te voorkomen 
    $eUsername = mysql_real_escape_string($pUsername); 
    $sql = "SELECT username FROM users WHERE username = '" . $eUsername . "' LIMIT 1"; 
 
    // We gebuiken trigger_error inplaats van die (engels voor dood) functie 
    $query = mysql_query($sql) or trigger_error("Query Failed: " . mysql_error()); 
 
    // Error checks (Komt dan voor de gebruiker in beeld te staan) 
    if ($uLen <= 4 || $uLen >= 11) { 
      $_SESSION['error'] = "Username must be between 4 and 11 characters."; 
    }elseif ($pLen < 6) { 
      $_SESSION['error'] = "Password must be longer then 6 characters."; 
    }elseif (mysql_num_rows($query) == 1) { 
      $_SESSION['error'] = "Username already exists."; 
    }else { 
      // Als er geen fouten meer zijn...
      // Kunnen we alles eindelijk in de database drukken 
      $sql = "INSERT INTO users (`username`, `password`) VALUES ('" . $eUsername . "', '" . hashPassword($pPassword, SALT1, SALT2) . "');"; 
       
      $query = mysql_query($sql) or trigger_error("Query Failed: " . mysql_error()); 
       
      if ($query) { 
        return true; 
      }   
    } 
  } 
   
  return false; 
} 
 
/*
string hashPassword (string $pPassword, string $pSalt1, string $pSalt2) 
Deze functie maakt een SHA1 hash van de onderstaande Salt1 en 2. 
*/ 
function hashPassword($pPassword, $pSalt1="2345#$%@3e", $pSalt2="taesa%#@2%^#") { 
  return sha1(md5($pSalt2 . $pPassword . $pSalt1)); 
} 
 
/*
functie loggedIn 
Deze functie gaat ff checken als je in kan loggen
*/ 
function loggedIn() { 
  // check loggedin en username om te valideren 
  if (isset($_SESSION['loggedin']) && isset($_SESSION['username'])) { 
    return true; 
  } 
   
  return false; 
} 
 
/*
functie logoutUser  
Gaat je uitloggen doormiddel van unset
*/ 
function logoutUser() { 
  // unset gooit de variabel weg 
  // en dus log je ook uit now xD 
  unset($_SESSION['username']); 
  unset($_SESSION['loggedin']); 
   
  return true; 
} 
 
/*
functie validateUser 
Gaat kijken of je username en pass overeenkomen
als dat zo is gaat hij dat in een cookie zetten en
anders krijg je een foutmelding  
*/
function validateUser($pUsername, $pPassword) { 
  // Kijken of username en pass overeenkomen
  $sql = "SELECT username FROM users  
    WHERE username = '" . mysql_real_escape_string($pUsername) . "' AND password = '" . hashPassword($pPassword, SALT1, SALT2) . "' LIMIT 1"; 
  $query = mysql_query($sql) or trigger_error("Query Failed: " . mysql_error()); 
   
  // Als er een rij terug komt ben je ingelogd 
  if (mysql_num_rows($query) == 1) { 
    $row = mysql_fetch_assoc($query); 
    $_SESSION['username'] = $row['username']; 
    $_SESSION['loggedin'] = true; 
       
    return true; 
  } 
   
   
  return false; 
} 
?>